;Exam2012H24FallPrg3
;Exam2012H24HPrg3 ċA
;-------------------------
;F(X, N)=X x F(X, N-1) + 1 (N >= 1)
;------------------
MAIN START
	LD GR1,N ;@
	LD GR2,X ;@
	CALL POLY2
	ST GR0,ANS
	RET
X DC 3
N DC 4
ANS DS 1 ;@
	END
;-------------------
POLY2 START
	RPUSH
	CALL RSUB ;ċA̖{̂Ă
	RPOP
	RET ;vO֖߂
RSUB LD GR1,GR1 ; N=0 ?
	JNZ CONT ; NłȂȂ CONT 
	LD GR0,=1 ;GR0 <--- F(X, 0)̒li==1j
	RET
CONT LAD GR1,-1,GR1 ; N-1         @A
	CALL RSUB ;@F(X, N-1)vZ
	CALL MULT
	ADDL GR0,=1
	RET
	END
;---------------------
MULT START
	RPUSH
	LD GR1,GR0
	LD GR0,=0   ;Zʂ̏
	LD GR2,GR2  ;搔GR2̓[ł邩H
LP	JZE FIN ;@J
;搔GR2E_Vtǧʃ[ɂȂΏI
	LD GR3,GR2
	AND GR3,=#0001 ; ŉʃrbg̃`FbN
	JZE CONT
	ADDL GR0,GR1
CONT SLL GR1,1 ; @G
	SRL GR2,1
	JUMP LP
FIN RPOP
	RET
	END
;----------------
 